Graphical modeling has spawned a variety of software products such as Simulink® and Stateflow® from The MathWorks, Inc. of Natick, Mass., that cater to various aspects of dynamic system simulation, analysis and design. Such products allow users to perform various types of tasks including constructing system models through a user interface that allows drafting of block diagram and state diagram models. The products also allow augmentation of a pre-defined set of blocks or states with custom user-defined blocks or states and the use of the block diagram model to compute and trace the temporal evolution of the dynamic system (“executing” the block diagram). In addition, the products enable automatic production of either deployable software systems or descriptions of hardware systems that exhibit the behavior defined by either an entire model or portions of the model (referred to herein as “code generation”).
Some conventional graphical modeling environments allow elements to be cloned and copied and allow users to develop custom elements. While these functions provide a user with extended capabilities, they do not exploit such graphical representations to simplify the creation and maintenance of models of complex systems. With some conventional graphical modeling environments, users must either create separate models for each member of a family of related systems or include complex conditional logic in a model to account for variations in behavior among the related systems. The first option entails considerable duplication of effort and the second option leads to complex, error-prone models that are difficult to create and maintain.